DirectX Basics
- What's the easy way to do <...> in Direct3D?
- Nothing in Direct3D is easy.
(talk in microsoft.public.win32.programmer.directx)
Being the coder of the Hugi interface I often receive messages with questions about DirectX programming. Of course I know a bit about this topic but I don't like to teach anyone because a lot of documentations and resources are available and I don't want to spend my time on retelling them. Anyway, I don't like speaking much... I'm not a writer, I'm just an ordinary coder. Here I want to give you a list of some available resources and a few comments of my own to help you start learning to code in DirectX yourself.
The first thing I want to say is that you took the right decision if you have chosen DirectX as a multimedia platform. I think it's one of the platforms with the most promising future perspective. It has a lot of advantages. The main disadvantage is that it's Windows 9x/NT only...
As DirectX is a native part of Windows it would be better for you to explore Windows programming first. It's not required but highly practical. If you like to skip that, you can use any sample as a template.
What language should you choose? I recommend to use C++ because it allows you to manipulate DirectX objects easily. But if you like you can also work with C or Delphi. It's possible but a bit awkward. I prefer Microsoft Visual C++ to write code and compile Windows applications. VC has a nice IDE (Integrated Developer Environment) that will help you code faster.
And you need the DirectX SDK (Software Developer Kit) to compile DirectX applications. VC 4.0 contains the DirectX3 SDK, VC 5.0 the DirectX5 SDK. The latest version of DirectX is 6 and you are free to get the latest SDK. Having downloaded an SDK, don't forget to add the paths to it in your compiler config. In case of VC, you can find it in the "Tools" menu. Click "Options", "Directories", "Include files" and "Library files".
At first it's better not to write one's own code but to look at some not too complicated sample, try to add something and view the results. When you try to build a sample, don't forget to link the DirectX libraries in order not to get "unresolved external" error messages from the linker. You have to simply add ddraw.lib or whatever to the list of libraries to be linked. Using VC you will find it in the "Project" menu, "Settings", "Link tab", "Object/library modules".
So, start exploring new lands. The following sites will help you.
DirectX home page http://www.microsoft.com/directx DirectX Links http://www.devgames.com/XPlus/links.html DirectX Workshop http://www.divineweb.com/directx/ The DirectX eXperience http://www.geocities.com/SiliconValley/Way/3390/index.html Journals of a directx junkie http://www.angelic-coders.com/bpshea/ DirectX at Game Programming http://www.gameprog.com/directx.htm Visual C++ Developers Journal http://www.vcdj.com/ Win32 Demo Programming Links http://www.tbl.org/w32links.htm The Win95 GPE http://www.geocities.com/SiliconValley/2151/win95gpe.html Win32 Demo Programming Links http://www.tbl.org/w32links.htm Internet Resources for Windows Developers http://www.r2m.com/windev/ The Game Programming MegaSite http://www.perplexed.com/GPMega/ The Game Developer's Resourcium http://www.resourcium.com/main.html The Game Programming MegaSite http://www.perplexed.com/GPMega/ Strange Creations http://www.strangecreations.com/ Prometheus Truecolor http://www.zip.com.au/~gaffer/ptc/ Reliable Software Programmers http://www.relisoft.com/ Internet Resources for Windows Developers http://www.r2m.com/windev/ Game Programming Galaxy http://www.geocities.com/SiliconValley/Vista/6774/ Creating Hot Games http://www.cs.hmc.edu/~tsemple/games/ 3D Engines List http://cg.cs.tu-berlin.de/~ki/engines.html Angelic Coders http://www.angelic-coders.com/ DirectX SDK Download http://www.triax.com/ben/directx/
Updates of this list you will find at my home page: http://www.ucl.ru/sr/